package com.medvalley.tcm.service;

import com.medvalley.tcm.domain.*;
import com.medvalley.tcm.pojo.SickInfoBrief;

import javax.xml.crypto.Data;
import java.util.Date;
import java.util.List;
import java.util.Map;

public interface ReportService {

    /**
     * 查找报告列表
     *
     * @param phone
     * @return
     */
    List<SickInfoBrief> findReportList(String phone);

    /**
     * 按时间查看报告列表
     *
     * @param phone
     * @return
     */
    List<SickInfoBrief> findReportListByDate(Date begin, Date end,String orgName);

    /**
     * 查找报告摘要
     *
     * @param phone
     * @return
     */
    SickInfoBrief findReportBrief(String phone, long reportId);

    /**
     * 根据手机号关联报告
     *
     * @param phone
     * @return
     */
    List<SickAndUser> relateReportByPhone(String userPhone, String inputPhone);

    /**
     * 网页版获取报告
     * @param phone
     * @param barCode
     * @return
     */
    Map<String, Object> webGetReportId(String phone, String barCode);

    /**
     * 根据病历码关联报告
     *
     * @param phone
     * @param sickPwd
     * @param barCode
     * @return
     */
    SickAndUser relateReportByBarCode(String phone, String sickPwd, String barCode);

    /**
     * 校验病历是否属于该用户
     *
     * @param phone
     * @return
     */
    boolean checkUser2Sick(String phone, long reportId);

    List<YangShengXieZi> findXieZiBySickId(long sickId);

    List<YangShengXieZi> findXieZiRandom(int num);

    List<YangShengSports> findSportBySickId(long sickId);

    List<YangShengSports> findSportRandom(int num);

    List<YangShengSeaon> findSeaonBySickId(long sickId);

    List<YangShengSeaon> findSeasonRandom(int num);

    List<YangShengEat> findEatBySickId(long sickId);

    List<YangShengTea> findTeaBySickId(long sickId);

    List<YangShengAcupuncture> findAcupunctureBySickId(long sickId);

    List<YangShengMethod> findMethodBySickId(long sickId);

}
